package com.panasonic.cn.cmsc.pc;

import java.io.*;
import java.lang.*;
import java.util.*;
import java.math.*;
import java.sql.SQLException;
import com.fujitsu.fks.jaaf.core.*;

public class SQLMM02_CHANGELIST{
	private Hashtable paramsString     = new Hashtable();
	private Hashtable paramsBigDecimal = new Hashtable();
	private Hashtable paramsFree       = new Hashtable();
	private String lastSql_ = null;

	private String getString(String name){
		if(name==null) return "";
		String returnStr = (String)paramsString.get(name);
		if(returnStr==null) return "";
		return "'"+FrameworkCommon.stringReplaceSQuote(returnStr)+"'";
	}

	private String getBigDecimal(String name){
		if(name==null) return "";
		BigDecimal returnStr = (BigDecimal)paramsBigDecimal.get(name);
		if(returnStr==null) return "";
		return returnStr.toString();
	}

	private String getFree(String name){
		if(name==null) return "";
		String returnStr = (String)paramsFree.get(name);
		if(returnStr==null) return "";
		return returnStr;
	}

	public String getLastSql(){
		return lastSql_;
	}

	public SelectResultRset SELECT_M0201(FrameworkDbCommon db) throws Exception {
		StringBuffer sql = new StringBuffer();
		sql.append("	SELECT ");
		sql.append("	NVL(ITM_NO,'') AS ITM_NO,");
		sql.append("	NVL(ODR_DVSN_CD,'') AS ODR_DVSN_CD,");
		sql.append("	NVL(APL_BDT,'') AS APL_BDT, ");
		sql.append("	NVL(APL_EDT,'') AS APL_EDT, ");
		sql.append("	NVL(GNR_ADM_NO,'') AS GNR_ADM_NO, ");
		sql.append("	NVL(TMP_AC_TYP,'') AS TMP_AC_TYP, ");
		sql.append("	NVL(SCSN_ITM_NO,'') AS SCSN_ITM_NO, ");
		sql.append("	NVL(QTY_NSUM_TYP,'') AS QTY_NSUM_TYP, ");
		sql.append("	NVL(CSLD_ITM_NO,'') AS CSLD_ITM_NO, ");
		sql.append("	NVL(CTRL_DVSN_CD,'') AS CTRL_DVSN_CD, ");
		sql.append("	NVL(MFCC_CD,'') AS MFCC_CD, ");
		sql.append("	NVL(PRNT_DVSN_CD,'') AS PRNT_DVSN_CD, ");
		sql.append("	NVL(DSP_SPCF_CTNT,'') AS DSP_SPCF_CTNT, ");
		sql.append("	NVL(IBO_CAT_CD,'') AS IBO_CAT_CD, ");
		sql.append("	NVL(FMCC_DPT_NM,'') AS FMCC_DPT_NM, ");
		sql.append("	NVL(FMCC_CHRG_NM,'') AS FMCC_CHRG_NM, ");
		sql.append("	NVL(PRV_ITM_NO,'') AS PRV_ITM_NO, ");
		sql.append("	NVL(CLR_CD,'') AS CLR_CD, ");
		sql.append("	NVL(BRND_CD,'') AS BRND_CD, ");
		sql.append("	NVL(HS_CD,'') AS HS_CD, ");
		sql.append("	NVL(ACC_CAT_CD,'') AS ACC_CAT_CD, ");
		sql.append("	NVL(ITM_NM_ENG,'') AS ITM_NM_ENG, ");
		sql.append("	NVL(SLS_QTY_UN_CD,'') AS SLS_QTY_UN_CD, ");
		sql.append("	NVL(SLC_PRMT_ITM_TYP,'') AS SLC_PRMT_ITM_TYP, ");
		sql.append("	NVL(KIT_TYP,'') AS KIT_TYP, ");
		sql.append("	NVL(GFT_TYP,'') AS GFT_TYP, ");
		sql.append("	NVL(FOC_TYP,'') AS FOC_TYP, ");
		sql.append("	NVL(MIN_ODR_QTY,'') AS MIN_ODR_QTY, ");
		sql.append("	NVL(STD_PKG_SZ,'') AS STD_PKG_SZ, ");
		sql.append("	NVL(STD_PKG_WDTH,'') AS STD_PKG_WDTH, ");
		sql.append("	NVL(STD_PKG_HI,'') AS STD_PKG_HI, ");
		sql.append("	NVL(STD_PKG_WGT,'') AS STD_PKG_WGT, ");
		sql.append("	NVL(TMP_PRIZ_TYP,'') AS TMP_PRIZ_TYP, ");
		sql.append("	NVL(STD_UP,'') AS STD_UP, ");
		sql.append("	NVL(ITM_NM_CN,'') AS ITM_NM_CN, ");
		sql.append("	NVL(SLS_ROUT_TYP,'') AS SLS_ROUT_TYP, ");
		sql.append("	NVL(ITM_NET_WGT,'') AS ITM_NET_WGT,");
		sql.append("	TO_CHAR(NVL(RGS_DTTM,''),'YYYYMMDDHH24MISS') AS RGS_DTTM, ");
		sql.append("	NVL(RGS_CHRG_CD,'') AS RGS_CHRG_CD, ");
		sql.append("	NVL(RGS_PGID,'') AS RGS_PGID, ");
		sql.append("	TO_CHAR(NVL(UPD_DTTM,''),'YYYYMMDDHH24MISS') AS UPD_DTTM, ");
		sql.append("	NVL(UPD_CHRG_CD,'') AS UPD_CHRG_CD, ");
		sql.append("	NVL(UPD_PGID,'') AS UPD_PGID, ");
		sql.append("	NVL(FM_TYP,'') AS FM_TYP ");
		sql.append("	FROM ");
		sql.append("	M02 ");
		sql.append("	WHERE ");
		sql.append("	UPD_DTTM > TO_DATE("+getString("UPD_DTTM_BEGIN")+",'YYYYMMDD HH24:MI:SS') ");
		sql.append("	AND ");
		sql.append("	UPD_DTTM <= TO_DATE("+getString("UPD_DTTM_END")+",'YYYYMMDD HH24:MI:SS') ");
		sql.append("	AND ");
		sql.append("        (FM_TYP =1 OR FM_TYP = 2 OR FM_TYP = 3 ) ");
		sql.append("	ORDER BY ");
		sql.append("	ODR_DVSN_CD,ITM_NO,GNR_ADM_NO ASC ");
		sql.append("	");
		db.setSql(sql.toString());
		lastSql_ =sql.toString();
		SelectResultRset srr = db.executeQuery();
		paramsString     = new Hashtable();
		paramsBigDecimal = new Hashtable();
		paramsFree       = new Hashtable();

		return srr;
	}

	public SelectResultRset SELECT_M0101(FrameworkDbCommon db) throws Exception {
		StringBuffer sql = new StringBuffer();
		sql.append("	SELECT ");
		sql.append("	NVL(TRPT_NM_CN,'') AS TRPT_NM_CN ");
		sql.append("	FROM ");
		sql.append("	M01 ");
		sql.append("	WHERE  ");
		sql.append("	VDR_CD "+((getString("VDR_CD").equals(""))?" is null ":"=")+getString("VDR_CD")+" ");
		sql.append("	AND");
		sql.append("	FM_TYP <> "+getString("FM_TYP_6")+"");
		sql.append("	AND");
		sql.append("	FM_TYP <> "+getString("FM_TYP_9")+"");
		sql.append("	AND");
		sql.append("	APL_BDT <"+((getString("SYS_DATE").equals(""))?" is null ":"=")+getString("SYS_DATE")+"");
		sql.append("	");
		db.setSql(sql.toString());
		lastSql_ =sql.toString();
		SelectResultRset srr = db.executeQuery();
		paramsString     = new Hashtable();
		paramsBigDecimal = new Hashtable();
		paramsFree       = new Hashtable();

		return srr;
	}

	public SelectResultRset SELECT_BM0201(FrameworkDbCommon db) throws Exception {
		StringBuffer sql = new StringBuffer();
		sql.append("       SELECT ");
		sql.append("       NVL(STD_UP,'') AS STD_UP ");
		sql.append("       FROM ");
		sql.append("       BM02 ");
		sql.append("       WHERE ");
		sql.append("       ITM_NO "+((getString("ITM_NO").equals(""))?" is null ":"=")+getString("ITM_NO")+" ");
		sql.append("       AND ");
		sql.append("       ODR_DVSN_CD "+((getString("ODR_DVSN_CD").equals(""))?" is null ":"=")+getString("ODR_DVSN_CD")+" ");
		sql.append("       ORDER BY ");
		sql.append("       UPD_DTTM DESC ");
		db.setSql(sql.toString());
		lastSql_ =sql.toString();
		SelectResultRset srr = db.executeQuery();
		paramsString     = new Hashtable();
		paramsBigDecimal = new Hashtable();
		paramsFree       = new Hashtable();

		return srr;
	}

	public SelectResultRset SELECT_MAILLIST(FrameworkDbCommon db) throws Exception {
		StringBuffer sql = new StringBuffer();
		sql.append("       SELECT ");
		sql.append("       NVL(USER_ID,'') AS USER_ID, ");
		sql.append("       NVL(ODR_DVSN_CD,'') AS ODR_DVSN_CD,");
		sql.append("       NVL(ELCT_MAIL_ADR,'') AS ELCT_MAIL_ADR,");
		sql.append("       NVL(MAIL_TYP,'') AS MAIL_TYP ");
		sql.append("       FROM ");
		sql.append("       MAILADD ");
		sql.append("       WHERE ");
		sql.append("       MAIL_TYP = '1' ");
		db.setSql(sql.toString());
		lastSql_ =sql.toString();
		SelectResultRset srr = db.executeQuery();
		paramsString     = new Hashtable();
		paramsBigDecimal = new Hashtable();
		paramsFree       = new Hashtable();

		return srr;
	}

	public SelectResultRset SELECT_USR01(FrameworkDbCommon db) throws Exception {
		StringBuffer sql = new StringBuffer();
		sql.append("	SELECT ");
		sql.append("	NVL(USER_NAME,'') AS USER_NAME ");
		sql.append("	FROM ");
		sql.append("	USR ");
		sql.append("	WHERE  ");
		sql.append("	USER_AB_ID "+((getString("USER_AB_ID").equals(""))?" is null ":"=")+getString("USER_AB_ID")+" ");
		sql.append("	AND ROWNUM = 1");
		sql.append("	");
		db.setSql(sql.toString());
		lastSql_ =sql.toString();
		SelectResultRset srr = db.executeQuery();
		paramsString     = new Hashtable();
		paramsBigDecimal = new Hashtable();
		paramsFree       = new Hashtable();

		return srr;
	}


	public void setUPD_DTTM_BEGIN(String value){
		if(value==null) {
			paramsString.remove("UPD_DTTM_BEGIN");
			return;
		}
		paramsString.put("UPD_DTTM_BEGIN",value);
	}


	public void setUPD_DTTM_END(String value){
		if(value==null) {
			paramsString.remove("UPD_DTTM_END");
			return;
		}
		paramsString.put("UPD_DTTM_END",value);
	}


	public void setVDR_CD(String value){
		if(value==null) {
			paramsString.remove("VDR_CD");
			return;
		}
		paramsString.put("VDR_CD",value);
	}


	public void setFM_TYP_6(String value){
		if(value==null) {
			paramsString.remove("FM_TYP_6");
			return;
		}
		paramsString.put("FM_TYP_6",value);
	}


	public void setFM_TYP_9(String value){
		if(value==null) {
			paramsString.remove("FM_TYP_9");
			return;
		}
		paramsString.put("FM_TYP_9",value);
	}


	public void setSYS_DATE(String value){
		if(value==null) {
			paramsString.remove("SYS_DATE");
			return;
		}
		paramsString.put("SYS_DATE",value);
	}


	public void setITM_NO(String value){
		if(value==null) {
			paramsString.remove("ITM_NO");
			return;
		}
		paramsString.put("ITM_NO",value);
	}


	public void setODR_DVSN_CD(String value){
		if(value==null) {
			paramsString.remove("ODR_DVSN_CD");
			return;
		}
		paramsString.put("ODR_DVSN_CD",value);
	}


	public void setUSER_AB_ID(String value){
		if(value==null) {
			paramsString.remove("USER_AB_ID");
			return;
		}
		paramsString.put("USER_AB_ID",value);
	}


}
